/*
 * 2022/1/10	10:25	yin
 */

#include <stdio.h>

/*
 * 递归
 */

void f()
{
	f();
}

void main()
{
	f();
}

#if 0
/*
 * intel
 */
0000000000001129 <f>:
    1129:	f3 0f 1e fa          	endbr64 
    112d:	55                   	push   %rbp
    112e:	48 89 e5             	mov    %rsp,%rbp
    1131:	b8 00 00 00 00       	mov    $0x0,%eax
    1136:	e8 ee ff ff ff       	callq  1129 <f>     // 调用自己
    113b:	90                   	nop
    113c:	5d                   	pop    %rbp
    113d:	c3                   	retq   

000000000000113e <main>:
    113e:	f3 0f 1e fa          	endbr64 
    1142:	55                   	push   %rbp
    1143:	48 89 e5             	mov    %rsp,%rbp
    1146:	b8 00 00 00 00       	mov    $0x0,%eax
    114b:	e8 d9 ff ff ff       	callq  1129 <f>
    1150:	90                   	nop
    1151:	5d                   	pop    %rbp
    1152:	c3                   	retq   
    1153:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
    115a:	00 00 00 
    115d:	0f 1f 00             	nopl   (%rax)

/*
 * arm
 */
000000000040051c <f>:
  40051c:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  400520:	910003fd 	mov	x29, sp
  400524:	97fffffe 	bl	40051c <f>              // 调用自己
  400528:	d503201f 	nop
  40052c:	a8c17bfd 	ldp	x29, x30, [sp], #16
  400530:	d65f03c0 	ret

0000000000400534 <main>:
  400534:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  400538:	910003fd 	mov	x29, sp
  40053c:	97fffff8 	bl	40051c <f>
  400540:	d503201f 	nop
  400544:	a8c17bfd 	ldp	x29, x30, [sp], #16
  400548:	d65f03c0 	ret
  40054c:	00000000 	.inst	0x00000000 ; undefined


#endif
